package Bytes;

import java.io.FileInputStream;

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import util.SocketManager;

public class EnviarBytes {

	public void enviarBytes(String ruta, SocketManager socketManager) {
		FileInputStream input = null;

		int numVueltas = 0;

		try {

			input = new FileInputStream(ruta);
			System.out.println("Se ha cargado la imagen de forma correcta.");
		} catch (Exception e) {
			System.out
					.println("Error con la imagen, por favor revise la ruta o el formato de la misma.");
		}

		try {

			int bytes = 0;
			while ((bytes = input.read()) != -1) {
				numVueltas++;
			}
			socketManager.Escribir(Integer.toString(numVueltas) + '\n');
			System.out.println("num vueltas: " + numVueltas);
			bytes = 0;

			input = new FileInputStream(ruta);
			while ((bytes = input.read()) != -1) {
				socketManager.getSocket().getOutputStream().write(bytes);

			}
			input.close();

		} catch (Exception e) {
			System.out.println("Error al enviar la imagen al cliente");
		}
	}

	public static void main(String[] args) {
		EnviarBytes bytes = new EnviarBytes();
		try {
			bytes.enviarBytes("src/resources/Camara/imagen.jpg",
					new SocketManager(new Socket("127.0.0.1", 3000)));
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
